package code01_java基础;

/**
 * @author 黄衡熙
 * @version 1.0
 * @date 2025年07月17日10:21
 */
public class Test04_自动类型转换 {

    public static void main(String[] args) {
        byte b = 1;
        short s = 10;
        int i = 100;
        long l = 1000L;
        // 不同类型之间运算时,byte、short、char认为是容量最小的单位
        // 容量大小由小到大分别为:byte、short、char->int->long->float->double
        // 运算时至少转换成int
        int sum = b + s;
        // 当不同类型之间进行运算时,其返回值必须使用容量大的类型进行接收
        int sum2 = b + i;
        long sum3 = i + l;

        float f = 3.14f;
        double d = 5.12;
        float sum4 = sum + f;
        double sum5 = l + d;

        // char类型的数据转换成数值时是根据ASCII码进行转换的
        char c = 'a';
        // 在ASCII码中,a对应的值为97
        int sum6 = c + b;
        // 因此,此处返回值为97+1=98
        System.out.println(sum6);
    }

}
